home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000 #2
/
Ham Radio 2000 - Volume 2.iso
/
HAMV2
/
MISC
/
DL4FBI
/
SCANPAR.BAS
< prev
next >
Wrap
BASIC Source File
|
1997-03-25
|
8KB
|
361 lines
'SCANPAR.BAS: 1) generation of parameterfile C:\BEACON.PAR
' 2) run BEACONS.EXE, must be in the same file as SCANPAR.EXE
'all written in POWER BASIC V 3.0 and POWER TOOLS II V.2.0
%mouse=1
defint a-z
$include "stdio.h"
$include "win_man.h"
$include "diaprof.h"
$include "diadata.inc"
cls
' Hauptprogramm
' -------------
ON ERROR GOTO SEARCHFILE
DIM qra$(18) 'callsigns of beacons
DIM qth$(18) 'locations of beacons
DIM qrg$(5) 'frequencies in Hertz as string
DIM kom$(10) 'commands for transceiver
shared qra$(),qth$(),qrg$(),kom$()
open "C:\beacon.par" for input as #1
for i= 1 to 18
input#1,qra$(i),qth$(i)
next i
for i= 1 to 5
input#1,qrg$(i)
next i
for i = 1 to 10
input#1,kom$(i)
next i
close
par=0
CALL PROLOG
SELECT CASE par
CASE 0
SHELL "BEACONS.EXE"
END
CASE 1
CALL QRAQTH
CALL FREQUENCIES
CALL RXCMD
CALL STOREPARAM
RU=0
CALL RUNNOW
END SELECT
IF RU=1 THEN
SHELL "BEACONS.EXE"
END IF
SYSTEM
' Ende des Hauptprogramms
' -----------------------
'SUB PROLOG{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
SUB PROLOG shared
STATIC row,col
RESTORE DATAPROLOG
CALL DIAREAD(row,col)
CALL DIAPRINT(3,2,"You can modify parameters")
CALL DIAPRINT(5,2," or just run the scan")
CALL DIASAVE
DO
d=dialog
l=lastkeyx
IF l=%ESC then EXIT LOOP
If l=%ENTER THEN
SELECT CASE d
CASE 1
par =1
EXIT LOOP
CASE 2
par=0
EXIT LOOP
END SELECT
END IF
LOOP
CALL DIACLOSE
END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
'SUB QRAQTH{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
SUB QRAQTH SHARED
static row,col
RESTORE DATAQRAQTH
call diaread ( row,col )
k=0
for i = 1 to 18
k=k+1
call diasval(k,qra$(i))
k=k+1
call diasval(k,qth$(i))
next i
call diasave
call diaprint(2,40," now you can modify")
call diaprint(3,40,"callsigns and locations")
call diaprint(5,35,"to store the whole list, hit OK")
do
d=dialog
l=lastkeyx
if l=%ESC then exit loop
if l=%ENTER then
if d=37 then
exit loop
end if
end if
loop
call diaclose
FOR i = 1 to 18
IF len(qra$(i))<6 THEN qra$(i)=qra$(i)+STRING$(6-len(qra$(i))," ")
IF len(qth$(i))<14 THEN qth$(i)=qth$(i)+STRING$(14-len(qth$(i))," ")
NEXT i
END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
'SUB FREQUENCIES{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
SUB FREQUENCIES SHARED
static row,col
RESTORE DATAFREQUENCIES
call diaread ( row,col )
for i = 1 to 5
call diasval(i,qrg$(i))
next i
call diasave
call diaprint(2,35," now you can modify ")
call diaprint(3,35,"the frequencies(integers only)")
call diaprint(5,35,"to store the whole list, hit OK")
for j = 2 to 10 step 2
call diaprint(j,17,"Hz")
next j
do
d=dialog
l=lastkeyx
if l=%ESC then exit loop
if l=%ENTER then
if d=6 then
exit loop
end if
end if
loop
call diaclose
END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
'SUB RXCMD{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
SUB RXCMD SHARED
static row,col
RESTORE DATARXCMD
call diaread ( row,col )
CALL DIAPRINT(7,25,"You can check/modify RX-Parameters now")
CALL DIAPRINT(8,25,"to store parameters, hit OK")
p1=val(kom$(1))'serial port
p2=val(kom$(2))'antenna No.
SELECT CASE kom$(3)
CASE "050"
p3=1 'filterbandwidth
CASE "100"
p3=2
CASE "200"
p3=3
CASE "600"
p3=4
END SELECT
p4=val(kom$(4))
p5=val(kom$(5))
CALL DIANVAL(1,p1):CALL DIANVAL(2,p2):CALL DIANVAL(3,p3):CALL DIANVAL(4,p4)
CALL DIANVAL(5,p5)
DO
d=dialog
l=lastkeyx
if l=%ESC then exit loop
if l=%ENTER then
if d=6 then
exit loop
end if
end if
LOOP
call diaclose
kom$(1)=LTRIM$(STR$(p1)):kom$(2)=LTRIM$(STR$(p2))
kom$(4)=LTRIM$(STR$(p4)):kom$(5)=LTRIM$(STR$(p5))
SELECT CASE p3
CASE 1
kom$(3)="050"
CASE 2
kom$(3)="100"
CASE 3
kom$(3)="200"
CASE 4
kom$(4)="600"
END SELECT
END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
'SUB STOREPARAM{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
SUB STOREPARAM SHARED
OPEN"C:\BEACON.PAR" FOR OUTPUT AS #1
FOR i = 1 to 18:WRITE#1,qra$(i),qth$(i):NEXT i
FOR i = 1 to 5: WRITE#1,qrg$(i):NEXT i
FOR i = 1 to 10:WRITE#1,kom$(i):NEXT i
END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
'SUB RUNNOW'{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
SUB RUNNOW SHARED
static row,col
RESTORE DATARUNNOW
CALL DIAREAD(row,col)
CALL DIAPRINT (2,2,"store parameters only or scan")
CALL DIASAVE
DO
d=dialog
l=lastkeyx
IF l=%ESC THEN EXIT LOOP
IF l=%ENTER THEN
SELECT CASE d
CASE 1
RU = 0
EXIT LOOP
CASE 2
RU = 1
EXIT LOOP
END SELECT
END IF
LOOP
CALL DIACLOSE
END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
'Die Daten für den Aufbau des Dialogfensters mit diaread()
'---------------------------------------------------------
DATAPROLOG:
DATA 4,6,17,70,"new parameters or run ?",1,30
DATA push, 10,22," check/modify parameters "
DATA push,14,22, " start of scan "
DATA""
DATAQRAQTH :
data 2,7,22,68," callsign and location of beacons ",1,30
data inp, 2, 2,"QRA:",2,7,6 '1
data inp, 2,15,"QTH:",2,20,14 '2
data inp, 3, 2,"QRA:",3,7,6 '3
data inp, 3,15,"QTH:",3,20,14 '4
data inp, 4, 2,"QRA:",4,7,6 '5
data inp, 4,15,"QTH:",4,20,14 '6
data inp, 5, 2,"QRA:",5,7,6 '7
data inp, 5,15,"QTH:",5,20,14 '8
data inp, 6, 2,"QRA:",6,7,6 '9
data inp, 6,15,"QTH:",6,20,14 '10
data inp, 7, 2,"QRA:",7,7,6 '11
data inp, 7,15,"QTH:",7,20,14 '12
data inp, 8, 2,"QRA:",8,7,6 '13
data inp, 8,15,"QTH:",8,20,14 '14
data inp, 9, 2,"QRA:",9,7,6 '15
data inp, 9,15,"QTH:",9,20,14 '16
data inp, 10, 2,"QRA:",10,7,6 '17
data inp, 10,15,"QTH:",10,20,14 '18
data inp, 11, 2,"QRA:",11,7,6 '19
data inp, 11,15,"QTH:",11,20,14 '20
data inp, 12, 2,"QRA:",12,7,6 '21
data inp, 12,15,"QTH:",12,20,14 '22
data inp, 13, 2,"QRA:",13,7,6 '23
data inp, 13,15,"QTH:",13,20,14 '24
data inp, 14, 2,"QRA:",14,7,6 '25
data inp, 14,15,"QTH:",14,20,14 '26
data inp, 15, 2,"QRA:",15,7,6 '27
data inp, 15,15,"QTH:",15,20,14 '28
data inp, 16, 2,"QRA:",16,7,6 '29
data inp, 16,15,"QTH:",16,20,14 '30
data inp, 17, 2,"QRA:",17,7,6 '31
data inp, 17,15,"QTH:",17,20,14 '32
data inp, 18, 2,"QRA:",18,7,6 '33
data inp, 18,15,"QTH:",18,20,14 '34
data inp, 19, 2,"QRA:",19,7,6 '35
data inp, 19,15,"QTH:",19,20,14 '36
data push, 8,47," OK " '37
data ""
DATAFREQUENCIES:
data 2,7,15,68,"frequencies of the beacons",1,30
data inp, 2,2,"QRG1",2,8,8 '1
data inp, 4,2,"QRG2",4,8,8 '2
data inp, 6,2,"QRG3",6,8,8 '3
data inp, 8,2,"QRG4",8,8,8 '4
data inp,10,2,"QRG5",10,8,8 '5
data push, 8,47," OK " '6
data ""
DATARXCMD:
data 2,7,18,68,"transceiver settings",1,30
data radio ,1,2,"serial port",2,2,"COM1:COM2:SIM" '1
data radio ,6,2,"antenna",7,2,"No.1:No.2" '2
data radio ,1,23,"filterbandwidth",2,23,"050Hz:100Hz:200Hz:600Hz"'3
data check ,1,45,"output",2,45,"screen only:hardcopy:ASCII-file" '4
data radio ,10,2,"time-synchronization",11,3,"DCF77-Time:own method:phone or radio"'5
data push ,11,40," OK " '6
data""
DATARUNNOW:
data 5,6,17,70,"SAVE PARAMETERS AND RUN SCAN",1,30
data push,5,2,"SAVE ONLY" '1
data push,5,40,"SAVE AND SCAN" '2
data ""
END
SEARCHFILE:
IF err=53 THEN
SHELL "COPY A:\BEACON.PAR C:\"
RUN
END IF